1. Field of the Invention
The present invention pertains to the field of computer systems. More particularly, this invention relates to scheduling when tasks should occur in the system.
2. Background
In copending U.S. patent application Ser. No. 08/400,029, entitled "A Computer System with Unattended On-Demand Availability", filed contemporaneously with the present application and assigned to the assignee of the present invention, a computer system capable of providing unattended on-demand availability is disclosed. The system includes power-saving features which place the system into a Standby mode whenever the system is idle or is not being used. Prior to entering Standby mode, the system sets a timer which indicates when the next scheduled event in the system should be performed. When either the timer expires or another event occurs which requires system operation, the system resumes to the On power mode without user intervention. If an application crashes, or if the computer system loses power or suffers a general crash of its software environment (that is, the operating system), the system automatically restarts application programs in accordance with restart policies established for those applications.
As people rely more and more on computer systems such as this one, the functions and capabilities that they will expect from these systems increases. One such function which would be beneficial to users is the ability to schedule specific actions or tasks to occur periodically, at specific times, or in response to certain system events. For example, these actions may include the backing up of a hard disk drive, the sending of facsimiles during "off-hours" to reduce long distance telephone line charges, or automatically receiving facsimiles for the user when the user is not expecting any and thus has not left the computer system turned on. Thus, it would be beneficial to provide a computer system which is continually available to perform scheduled tasks for the user.
Furthermore, as users rely more and more on computer systems, the reliability of these computer systems should be maintained in accordance with this reliance. That is, a computer system should be available and operational as required by the user. Thus, it would be beneficial to provide a computer system which allows a user to program the computer system for specific tasks which it should perform and then performs the actions when the specified time or event occurs. For example, the system user should be able to forget about whether the computer system power needs to be left on for a particular scheduled task, and the system user should not be concerned with the number of times the system has been turned off and on between the time of scheduling and the time the action should be performed.
Furthermore, in order for the system user to forget about the action to be performed, the user should not be required to remember which software applications should be running to perform the programmed action. Thus, it would be beneficial to provide a system which, once programmed to perform specific action, is capable of executing that application without user intervention.
The present invention provides for these and other advantageous results.